منابع مشابه
First-class Concurrency Testing and Debugging
Unfortunately, the design of concurrent programs is a very challenging task. The main intellectual difficulty of concurrent programming lies in reasoning about the interaction between concurrently executing threads. Nondeterministic thread scheduling makes it extremely difficult to reproduce behavior from one run of a program to another. As a result, the process of testing and debugging concurr...
متن کاملRecord-replay debugging for the SCOOP concurrency model
To support developers in writing reliable and efficient concurrent programs, novel concurrent programming abstractions have been proposed in recent years. Programming with such abstractions requires new analysis tools because the execution semantics often differs considerably from established models. We present a record-replay technique for programs written in SCOOP, an object-oriented programm...
متن کاملTesting and Debugging Concurrency Bugs in Event-Driven Programs
Event-driven programs are prone to concurrency bugs due their inherent nature of handling asynchronous events. Asynchronous events introduce logical concurrency into these programs making them hard to be thoroughly tested and debugged. However, understanding the root causes and characteristics of concurrency bugs can ease the debugging process and help developers to avoid introducing them. Unfo...
متن کاملGeneral Type Error Diagnostics Using MaxSMT
Automatic type inference is a popular feature of functional programming languages. Unfortunately, if the compiler cannot infer a correct typing of a program, the produced error message does not always help the programmer to fix the error. The compiler typically reports a single program location in the error message. This location is the point where the type inference failed, but not necessarily...
متن کاملPosition Paper: Static Debugging of Programs Using High-Level Concurrency Libraries
High-level concurrency libraries, such as MapReduce and frameworks for fork/join parallelism, are promising tools to make parallelism available to the application developer. Optimizations and intrinsics provided by mainstream VM platforms, as well as programming languages supporting powerful means of abstraction greatly improve the performance and use of such frameworks. However, debugging prog...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the AAAI Conference on Artificial Intelligence
سال: 2019
ISSN: 2374-3468,2159-5399
DOI: 10.1609/aaai.v33i01.33011608